約 4,059,030 件
https://w.atwiki.jp/prog/pages/17.html
Cプログラミング入門以前 Cプログラミング入門以前 C言語を理解するためには、コンピュータやプログラミングについてあらかじめある程度の知識を持っている必要があります。 この本には、CPUやメモリといったコンピュータの仕組み、計算機としてのコンピュータ、変数とメモリ、アルゴリズム、ソフトウェア開発の基礎、他言語にも共通していることが多いデータの表現方法など、C言語を学ぶ前に知っておいて欲しいことがまとめてあります。 この本を読んでこれらのことを知ってから、C言語でのプログラミングに挑戦すれば、プログラミングの上達速度が上がると思います。 C言語を学ぶ前か同時並行でこの本を読むと効率良くプログラムを書くことができます。 選択肢 投票 この本を推薦する! (11)
https://w.atwiki.jp/denpaprog/pages/12.html
電波プログラミングとは何か? 電波プログラミングとは、「超計算機的なロジックによって構成されたプログラム」である。超計算機的とはその原語meta-computational の意味する通り、メタ的な意味において計算機を超越した論理に基づいて計算機プログラミングを行うことに他ならない。 超計算機の概念を説明するために、その対極の概念である「計算機的」プログラミングを例示しよう。 例として偶数かどうかを判定するプログラムを思考する。多くの計算機的プログラマは以下のように実装を行うだろう。(コード例はCである) bool IsEven(int number){ if( number % 2 == 0){ /* %2の剰余が0であるかを判定 */ return true; }else{ return false; } } %は言うまでもなく剰余を求める演算子である。この部分はあるいは以下のように書き換えることができるだろう。 if(number 1 == 0){ /* 最下位ビットが1であるかそうでないかを判定する */ 質のいいコンパイラを使えば前者のプログラムと後者のプログラムはほぼ等価のアセンブリコードとなることが容易に推察できる。つまり、我々の通常の思考するプログラムとは「偶数かそうでないか」という自然科学的なロジックを「最下位ビットが0であるかそうでないか」という計算機的なロジックに変更することによって成り立っていると言える。 対して、電波プログラミングはある概念を超計算機的なロジックによって実装することになる。 const static bool even_check[]={true,false,true,false, true,false,true,false,true,false,true,false,true,false,true,false,true,false,true,false,true,false, true,false,true,false,true,false,true,false,true,false,true,false,true,false,true,false,true,false, true,false,true,false,true,false,true,false,true,false,true,false,true,false,true,false,true,false, true,false,true,false,true,false,true,false,true,false,true,false,true,false,true,false,true,false, true,false,true,false,true,false,true,false,true,false,true,false,true,false,true,false,true,false, 省略 }; /* 可能な限り記述 */ bool IsEven(int number){ assert(size_of(even_check) number || number 0); return even_check[number]; } このプログラムの最も着目すべき点は 最初にeven_check配列に偶数であるかそうでないかを代入しておくところにある。つまりこのプログラムを作成したプログラマはeven_check配列を通じて「偶数は0から一個とびにある数字である」または「偶数と奇数は交互に繰り返す」という内的ロジック=超計算機的ロジックを、そのままの形で実装していることになる。(さらに言えば、非常に大きな数-例えば一億五千八九四のような数字、またはマイナスの数字に関しては、それが偶数であるかそうでないかは当然不明である、というプログラマの論理的限界そのものも記述できていることに注目すべきであろう) こうしておくことによってIsEven関数は実際に配列内の真偽値(=プログラマの内的論理の写像)を読み取って返すだけの単純明快な形となり、また、変数の最下位ビットがどうなっているかなどという全くもって直感的でない計算機的な思考の呪縛を逃れることができるわけである。 c.f 電波プログラミング入門 計算機的プログラミングの危険性 電波プログラミングが計算機的プログラミングのアンチテーゼであることは前項で説明した。では計算機的プログラミングの何が問題であるのか?ここでは計算機的プログラミングの危険性について説明しておきたい。 計算機的プログラミングの限界 近代計算機の全ての祖であるアラン・チューリングによるチューリングマシンが、ゲーデルの不完全性定理を証明するために思考されたことを知っている読者は多いだろう。この事実はしかし逆説的に以下の事実を指し示している。 その機械がチューリング完全である限り、不完全性定理を無視することはできない つまり、計算機的プログラミングとは、不完全性定理の束縛(無矛盾であれば、自身の無矛盾性を証明できない)を常に受けることになるわけである。 数学的素養のない読者のためにチューリングマシンに話を戻すと、これは停止性問題に帰結する。すなわち、 チューリング機械(≒プログラム、アルゴリズム)Aに入力xを入れたら有限時間で停止するか という問題をチューリングマシンは解決できないことが示されている。これは言い換えると「そのプログラムが停止するかどうかは実行してみないとわからない」ということである。考えてみればいい、今まで計算機的プログラマが「絶対大丈夫」といったプログラムが全く問題なく動いた試しがあるだろうか!? そう、これはプログラマ個々の問題ではなく、計算機的プログラムの限界であったのである。 これまで我々が依拠していた計算機的プログラミングのなんと脆弱なことか!この一点をもってしても計算機的プログラミングがいかに脆く、危険に満ちた物であるかということがおわかりいただけたかと思う。 計算機からの自由 前節の例をあげるまでもなく、計算機的プログラマは業務や概念を以下に計算機のロジックに置き換えるか?ということを思考し続けなければならない。 ここでは、注文をオブジェクト化するであるとか、顧客の状態を定数で表すなどという非人間的で不可解なメタファーがまかり通っており、プログラマはこの常識離れした概念を、あたかも自然なものとして考えることを強いられている。 このようなことが長く続く筈はなく、事実この業界では鬱病あるいはノイローゼを患ってしまうプログラマが後を絶たない。言わば彼らは計算機の奴隷となりはて、人間性を失ってしまったわけである。 しかしながら電波プログラミングは超計算機的な概念をそのまま実装し、計算させることを主眼にしている。すなわち計算機に使われるのではなく、電波プログラムを行うそれぞれ個々の人間性に基づいて計算機に計算させることができるわけである。計算機と人間のあるべき姿としてどちらが正常といえるかは、もはや言うまでもないことだろう。 最も高度で自然なプログラミング技法 電波プログラミングは言うまでもなく最も高度なプログラム技法である。この世界では計算機的プログラミングのあらゆるセオリーが通用しない。熟練したプログラマであっても、電波プログラミングに習熟するには3年ないしは5年の期間が必要とされる(デスマーチ中など、強いストレス化と過剰労働状態に一定期間おかれることよってそれまでの計算機的プログラミングに慣れた脳がリセットされ、偶発的に電波プログラミングが可能になる場合もあるが、このようなケースはごくまれである) また旧来のプログラミング技法のパラダイム(OOP,AOPなど)では、基本的にセミナーであったり解説書を読むことによって学習が可能であるが、電波プログラムにおいては、そのような形での学習はほぼ不可能である。 Don t Think. Feel!(考えるな、感じろ!)こそが電波プログラミングの真骨頂であり、それがために個々人の才能が最も試される分野でもある。 また、たまに新入社員やバイトで入ったプログラミング未経験な若者が、最初に書くプログラムが電波プログラムである場合がある。これこそ電波プログラミングが人間のリビドーによって生み出されている自然なプログラミングスタイルである証拠といえるのであるが、そのようなスタイルが旧来の価値観に縛られた環境によってスポイルされ、やがて、典型的な計算機プログラマとして虚勢されていく現状は問題視すべきであろう。 神秘主義と電波プログラミング (執筆中) 神は計算機の中に存在する (執筆中) 電波プログラミングで実装されている例 計算機的プログラムでは実現できないことを、電波プログラミングで実現できる例も多い。電波プログラミングによって作成された著名なアプリケーションを例示する。電波プログラミングの威力が実感できるものである。 新メモリ最適化ツール(compJapan製) 悪魔召還プログラム Pyramid倶楽部 マインドシーカー(ナムコ) JAPH 電波プログラミングではない例 最後に練習問題として、電波プログラミングのようで、そうでないものの典型的な例をあげていく。ここまで読まれた読者諸兄においては、これらが電波プログラミングでない理由はおわかりいただけるかと思う。 Perl詩perlインタプリタが実行可能なソースの形式で詩を書くというのがPerl詩である。ソースを一見すると電波プログラミングの一例であるかのようだが、アプリケーションとして見た場合、実際には実行される結果は詩と何の関連性もない場合が多い。つまり手段と目的が倒錯している意味以上のものはここにはなく、よって電波プログラミングではないと言える。仮にプログラマーが求めるアプリケーションの要件が存在し、その要件を満たすために詩を書く必要があるのだとすれば、それは電波プログラムと言ってよいだろう。 関数型言語 lisp
https://w.atwiki.jp/isoroku_be/pages/47.html
情報 作者名:はっぱ 引用元:なでしこプログラム掲示板「はっぱのサンプル集57」 解説引用元:絶対パスと相対パス ( ホームページ作成 ) 勝手に改変 概要 相対パスを出力します。 相対パス指定のお約束 ・同じ階層にあるものは、そのままファイル名か「./ファイル名」 ・下の階層にあるものは、「./フォルダ名/ファイル名」 ・上の階層にあるものは、「../ファイル名」 ・2階層上にあるものは、「../../ファイル名」 ・1階層上にあるフォルダの中のファイルは、「../フォルダ名/ファイル名」 解説 ●ファイル相対パス変換 ●ファイル相対パス展開 ●URL相対パス変換 ●URL相対パス展開 「変換」系 引数 基本パス:指定する側 絶対パス:絶対的に指定される側 返り値 相対パス 「展開」系 引数 基本パス:指定する側 相対パス:相対的に指定される側 返り値 絶対パス サンプルプログラム //ファイル相対パス変換・展開 基本パス=「C \Documents and Settings\Owner\デスクトップ\AAA.html」。 #基本パス=「C \Documents and Settings\Owner\デスクトップ\」。#どちらでもOK! 絶対パス=「C \Documents and Settings\Owner\My Documents\BBB.html」。 相対パス=絶対パスを基本パスでファイル相対パス変換して言う。#..\My Documents\BBB.html 相対パスを基本パスでファイル相対パス展開して言う。#C \Documents and Settings\Owner\My Documents\BBB.html //URL相対パス変換・展開 基本パス=「http //www.yahoo.co.jp/test/aiueo/」。 #基本パス=「http //www.yahoo.co.jp/test/aiueo/index.html」。#どちらでもOK! 絶対パス=「http //www.yahoo.co.jp/neko.gif」。 相対パス=絶対パスを基本パスでURL相対パス変換して言う。#../../neko.gif 相対パスを基本パスでURL相対パス展開して言う。#http //www.yahoo.co.jp/neko.gif //本体 ●ファイル相対パス展開(相対パスを基本パスで) 基本パス=基本パスからパス抽出。 相対パスを基本パスで相対パス展開。それで戻る。 ●ファイル相対パス変換(基本パスから絶対パスまでの|絶対パスを基本パスで) 結果とは文字列。仮基本パスとは配列。仮絶対パスとは配列。カウンタとは整数。 基本パス=基本パスからパス抽出。基本パス=基本パスの終端パス追加。基本パス=基本パス 「syuusei」。 仮基本パスは基本パスを『\』で区切る。仮絶対パスは絶対パスを『\』で区切る。 1のループ もし回数が(仮基本パスの配列要素数)ならば、抜ける もし回数が(仮絶対パスの配列要素数)ならば、抜ける もし仮基本パス[回数-1]が仮絶対パス[回数-1]でなければ、抜ける カウンタ=カウンタ+1。 ((仮基本パスの配列要素数)-1-カウンタ)回 結果は(『..\』 結果) ((仮絶対パスの配列要素数)-カウンタ)回 結果は結果 仮絶対パス[カウンタ+回数-1] 『\』 結果は結果 改行。結果は結果の(『\』 改行)を空に置換。結果は結果の改行を空に置換。 もし、結果の1から3バイト抜き出す≠「..\」ならば、結果=「.\」 結果。 結果で戻る。 ●URL相対パス展開(相対パスを基本パスで) 基本パス=基本パスからURL基本パス抽出。 相対パスを基本パスでURL展開。それで戻る。 ●URL相対パス変換(基本パスから絶対パスまでの|絶対パスを基本パスで) 結果とは文字列。仮基本パスとは配列。仮絶対パスとは配列。カウンタとは整数。 基本パス=基本パスからURL基本パス抽出。もし、基本パスから1バイト右部分≠「/」ならば、基本パス=基本パス 「/」。 基本パス=基本パス 「syuusei」。 仮基本パスは基本パスを『/』で区切る。仮絶対パスは絶対パスを『/』で区切る。 1のループ もし回数が(仮基本パスの配列要素数)ならば、抜ける もし回数が(仮絶対パスの配列要素数)ならば、抜ける もし仮基本パス[回数-1]が仮絶対パス[回数-1]でなければ、抜ける カウンタ=カウンタ+1。 ((仮基本パスの配列要素数)-1-カウンタ)回 結果は(『../』 結果) ((仮絶対パスの配列要素数)-カウンタ)回 結果は結果 仮絶対パス[カウンタ+回数-1] 『/』 結果は結果 改行。結果は結果の(『/』 改行)を空に置換。結果は結果の改行を空に置換。 もし、結果の1から3バイト抜き出す≠「../」ならば、結果=「./」 結果。 結果で戻る。 名前 コメント
https://w.atwiki.jp/aisp-gp/pages/24.html
ゲームプログラミング ゲーム制作、プログラミング解説サイトのリンク集。 いちばんやさしいゲームの作り方(Byerkutさん) #メルマガの「挫折不可能!初級ゲームプログラミング完全マニュアル」がおすすめです。創刊号 - 68号 DirectX Programmers Pages(Minamiさん) #DirectXの初期化関数や描画関数が参考になります。雛形としても利用可。 C言語何でも質問サイト(Dixqさん) #C言語やDXライブラリを使用したゲーム作り解説をされています。 ++C++;// 未確認飛行 C #ゲームプログラミングではないですがC#言語の解説が詳しいです。 マルペケつくろーどっとコム #ゲームプログラミングにとても有用なサイトです。
https://w.atwiki.jp/programing_wands/pages/34.html
プログラミング wiki コメント一覧 ここにテキストが入ります -- (テスト)
https://w.atwiki.jp/mumeno/pages/14.html
ルールベースプログラミングとは オブジェクトの「比較」によって答えを返すロジックを作成するものです。 GUIやビジネスフローなどではありません。 リクエスト(要求)に対してリプライ(答え)を返すだけのものです。 ただ、その内容が複雑であればあるほど、普通のプログラミングでは for文、if文の嵐になってしまいます。 そこを、「オブジェクト指向構造体」と「パターンマッチング技術」によって簡単に書きましょう というものです。 その昔、OPS5という言語がありました。考え方は非常に近いものがあります。 ルールベースプログラミングは、欧米ではかなり浸透してきています。 日本においても、ロジックの構築にはメインストリームになると考えています。 ルールって何? ルールとは、「これこれの場合にはこうする」という、ヒトが決めたロジックのことを指します。 ビジネスルールマネージメントシステム (BRMS) と違う? Business Rule Management System (BRMS) は、ルールエンジン、ルール管理、ルール作成などを一つのパッケージにまとめたものです。 有名なところでは JBoss Enterprise BRMS, IBM WebSphere ILOG JRulesなどがあります。 BRMSは、JavaやC言語などがわからないビジネスユーザーでもロジックが書けるようにしています。 また、いつ、だれが、どのような理由で作成・変更したのか、というような「管理」の部分の機能を提供しています。 ほとんどの作業をWebブラウザやExcelで行えるようにしているのも特徴です。 従って、ルールベースプログラミングを、さらに分かりやすくしたものが、BRMSソリューションになります。 ルールエンジンとは? ルールエンジンはパターンマッチング技術を元に作られた、軽量・高速な判断エンジンです。 *
https://w.atwiki.jp/tonipura/pages/13.html
目次 日本語プログラム言語「なでしこ」Hello World リンク集公式 リファレンス 入門記事 開発環境 日本語プログラム言語「なでしこ」 Hello World 「こんにちは」と表示。 【コラム】日本語で10行プログラミング (2) なでしことは その2 | パソコン | マイコミジャーナル導入、なでしこエディタの紹介、サンプル作動 リンク集 公式 日本語プログラム言語「なでしこ」公式ページ なでしこ学習帳@はてな リファレンス 「なでしこ」本体付属「なでしこエディタ」のヘルプで十分? 入門記事 クジラ飛行机「文系サラリーマンのための仕事に役立つプログラミング入門」 連載:なでしこを使って,日本語でバッチを書こう!|gihyo.jp … 技術評論社 日本語で10行プログラミング | コラム | パソコン | マイコミジャーナル 新しくプログラミング言語を覚えたいときに行うべき10の練習問題をなでしこでやってみた - 雑念雑記はてな出張所新しくプログラミング言語を覚えたいときに行うべき10の練習問題 - IDEA*IDEA ~ 百式管理人のライフハックブログ 開発環境 「なでしこ」本体付属「なでしこエディタ」で十分?
https://w.atwiki.jp/ganbarucoder/pages/18.html
マクロサンプル(マクロ) サンプル2(マクロ) STLVector Map 幅優先探索 深さ優先探索 最小公約数 素数 マクロ マクロはコーディングの速度を上げるためには必須項目といってもいいかもしれない.(と,思う・・・)マクロとは,あらかじめ設定しておいた文字列をプロセッサによっておきかえること,だそうです. よくわからない!!!けど,簡単です. 定義の仕方は #define (マクロ名) (実際の処理) です サンプル(マクロ) コード #include iostream using namespace std; #define LOOP5 for(int i=0;i 5;i++)//マクロの定義 int main(){LOOP5{cout "roop" endl;}return 0;} 出力 roop roop roop roop roop 解説 マクロの定義で,LOOP5という文字列をfor(int i=0;i 5;i++)に置き換えるように定義しました.main関数内のLOOP5を定義したfor文にそのまま置き換えると出力結果が納得できます. ちなみにマクロは引数を渡すこともできます. サンプル2(マクロ) コード #include iostream using namespace std; #define FOR(i,n) for(int i=0;i n;i++)//マクロの定義 int main(){FOR(i,5){cout "roop" endl;}return 0;} 出力 roop roop roop roop roop STL STL(標準テンプレートライブラリ)には,競技プログラミングに必要な多くのアルゴリズムが存在するので,コーディングの速度向上のためにも習得しておきたいところ.STLの内容については,googleなどで検索すると山ほど解説ページがでてきます.ここでは,競技プログラミングに使えそうなものから解説します. Vector Map 幅優先探索 深さ優先探索 最小公約数 素数
https://w.atwiki.jp/programing_wands/pages/35.html
プログラミング言語とは コメント一覧 ここにテキストが入ります -- (テスト) 2023-12-25 12 40 19
https://w.atwiki.jp/brightwide/
プログラミングお勉強ブログ 最近かなりプログラミングから離れてしまったので、気合を入れてお勉強してみようと思っています。 どうせやるならすべてオープンソースを使ってお勉強する予定です。あまり時間が取れない中でちょっとずつ前に進んで行きます。 当面はオープンソースで開発環境作るだけになっています。まだまったくプログラミングについてアップしていません。。。 #weblog -